<!DOCTYPE html><html><head><title>WebPerfWG call - April 1st 2021</title><link rel="shortcut icon" href="https://ssl.gstatic.com/docs/documents/images/kix-favicon7.ico"><meta name="referrer" content="strict-origin-when-cross-origin"><style type="text/css" nonce="gAgG1i/Npqa5U5TIs2tr2w">
      @import url("https://fonts.googleapis.com/css?family=Google+Sans");
      @import url("https://fonts.googleapis.com/css?family=Roboto");

      body {
        font-family: Roboto, arial, sans, sans-serif;
        margin: 0;
      }

      iframe {
        border: 0;
        frameborder: 0;
        height: 100%;
        width: 100%;
      }

      #header {
        align-items: center;
        background: white;
        border-bottom: 1px #ccc solid;
        display: flex;
        height: 60px;
        justify-content: space-between;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
      }

      #header #title {
        font-family: 'Google Sans';
        font-size: large;
        margin: auto 0 auto 20px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 70%;
      }

      #header #interval {
        margin: auto 25px auto 0;
        font-family: Roboto;
        font-size: small;;
      }

      #footer {
        background: #f0f0f0;
        border-bottom: 1px #ccc solid;
        bottom: 0;
        font-family: Roboto;
        font-size: small;
        padding: 10px 10px;
        position: fixed;
        text-align: center;
        width: 100%;
      }

      #contents {
        padding: 100px 20% 50px 20%;
      }

      @media only screen and (max-device-width: 800px) {
        #header {
          border-bottom-width: 5px;
          height: auto;
          display: block;
        }

        #header #title {
          font-size: 3em;
          margin: auto 0 auto 20px;
          width: 90%;
        }

        #header #interval {
          font-size: 1.5em;
          margin: 10px 0 auto 25px;
        }

        #contents {
          padding: 150px 5% 80px;
        }

        #footer {
          font-size: 2em;
        }
      }

      .dash {
        padding: 0 6px;
      }
    </style></head><body><div id="header"><div id="title">WebPerfWG call - April 1st 2021</div><div id="interval"><span></span></div></div><div id="contents"><style type="text/css">ul.lst-kix_vdri37hjl0an-1{list-style-type:none}ul.lst-kix_vdri37hjl0an-2{list-style-type:none}ul.lst-kix_vdri37hjl0an-3{list-style-type:none}ul.lst-kix_vdri37hjl0an-4{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-0{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-1{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-2{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-3{list-style-type:none}ul.lst-kix_vdri37hjl0an-0{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-4{list-style-type:none}ul.lst-kix_u58xi73e5vfb-5{list-style-type:none}ul.lst-kix_u58xi73e5vfb-4{list-style-type:none}ul.lst-kix_u58xi73e5vfb-7{list-style-type:none}ul.lst-kix_u58xi73e5vfb-6{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-0{list-style-type:none}ul.lst-kix_u58xi73e5vfb-8{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-4{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-3{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-2{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-1{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-8{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-7{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-6{list-style-type:none}ul.lst-kix_mtzveeuo4fl5-5{list-style-type:none}.lst-kix_mhpa5398s0cu-0>li:before{content:"\0025cf  "}.lst-kix_mhpa5398s0cu-1>li:before{content:"\0025cb  "}.lst-kix_mhpa5398s0cu-2>li:before{content:"\0025a0  "}ul.lst-kix_u58xi73e5vfb-1{list-style-type:none}ul.lst-kix_u58xi73e5vfb-0{list-style-type:none}ul.lst-kix_u58xi73e5vfb-3{list-style-type:none}ul.lst-kix_u58xi73e5vfb-2{list-style-type:none}.lst-kix_mhpa5398s0cu-7>li:before{content:"\0025cb  "}.lst-kix_mhpa5398s0cu-6>li:before{content:"\0025cf  "}ul.lst-kix_vdri37hjl0an-5{list-style-type:none}ul.lst-kix_4pbn63t477du-2{list-style-type:none}.lst-kix_mtzveeuo4fl5-0>li:before{content:"\0025cf  "}ul.lst-kix_vdri37hjl0an-6{list-style-type:none}ul.lst-kix_4pbn63t477du-1{list-style-type:none}ul.lst-kix_vdri37hjl0an-7{list-style-type:none}ul.lst-kix_4pbn63t477du-0{list-style-type:none}ul.lst-kix_vdri37hjl0an-8{list-style-type:none}.lst-kix_mhpa5398s0cu-4>li:before{content:"\0025cb  "}ul.lst-kix_4pbn63t477du-6{list-style-type:none}ul.lst-kix_4pbn63t477du-5{list-style-type:none}.lst-kix_mhpa5398s0cu-3>li:before{content:"\0025cf  "}.lst-kix_mhpa5398s0cu-5>li:before{content:"\0025a0  "}ul.lst-kix_4pbn63t477du-4{list-style-type:none}.lst-kix_u1b4dt1h05o5-8>li:before{content:"\0025a0  "}ul.lst-kix_4pbn63t477du-3{list-style-type:none}ul.lst-kix_4pbn63t477du-8{list-style-type:none}ul.lst-kix_4pbn63t477du-7{list-style-type:none}.lst-kix_ihtn00gfry14-7>li:before{content:"\0025cb  "}.lst-kix_ihtn00gfry14-8>li:before{content:"\0025a0  "}.lst-kix_2z9mu1ck018o-1>li:before{content:"\0025cb  "}.lst-kix_ihtn00gfry14-5>li:before{content:"\0025a0  "}ul.lst-kix_mhpa5398s0cu-0{list-style-type:none}.lst-kix_2z9mu1ck018o-2>li:before{content:"\0025a0  "}ul.lst-kix_mhpa5398s0cu-1{list-style-type:none}ul.lst-kix_mhpa5398s0cu-2{list-style-type:none}ul.lst-kix_mhpa5398s0cu-3{list-style-type:none}.lst-kix_u58xi73e5vfb-3>li:before{content:"\0025cf  "}ul.lst-kix_mhpa5398s0cu-4{list-style-type:none}ul.lst-kix_mhpa5398s0cu-5{list-style-type:none}.lst-kix_u58xi73e5vfb-4>li:before{content:"\0025cb  "}.lst-kix_ihtn00gfry14-6>li:before{content:"\0025cf  "}ul.lst-kix_mhpa5398s0cu-6{list-style-type:none}ul.lst-kix_mhpa5398s0cu-7{list-style-type:none}ul.lst-kix_mhpa5398s0cu-8{list-style-type:none}.lst-kix_2z9mu1ck018o-0>li:before{content:"\0025cf  "}.lst-kix_2z9mu1ck018o-8>li:before{content:"\0025a0  "}.lst-kix_ihtn00gfry14-0>li:before{content:"\0025cf  "}.lst-kix_2z9mu1ck018o-7>li:before{content:"\0025cb  "}.lst-kix_3uy04m4r8lnf-1>li:before{content:"\0025cb  "}.lst-kix_ihtn00gfry14-1>li:before{content:"\0025cb  "}.lst-kix_2z9mu1ck018o-6>li:before{content:"\0025cf  "}.lst-kix_3uy04m4r8lnf-0>li:before{content:"\0025cf  "}.lst-kix_u58xi73e5vfb-2>li:before{content:"\0025a0  "}.lst-kix_ihtn00gfry14-3>li:before{content:"\0025cf  "}.lst-kix_ihtn00gfry14-4>li:before{content:"\0025cb  "}.lst-kix_u58xi73e5vfb-1>li:before{content:"\0025cb  "}.lst-kix_2z9mu1ck018o-3>li:before{content:"\0025cf  "}.lst-kix_2z9mu1ck018o-5>li:before{content:"\0025a0  "}.lst-kix_u58xi73e5vfb-0>li:before{content:"\0025cf  "}.lst-kix_ihtn00gfry14-2>li:before{content:"\0025a0  "}.lst-kix_2z9mu1ck018o-4>li:before{content:"\0025cb  "}.lst-kix_3uy04m4r8lnf-8>li:before{content:"\0025a0  "}.lst-kix_3uy04m4r8lnf-7>li:before{content:"\0025cb  "}.lst-kix_3uy04m4r8lnf-3>li:before{content:"\0025cf  "}.lst-kix_3uy04m4r8lnf-2>li:before{content:"\0025a0  "}.lst-kix_9bg20bpz3lr6-2>li:before{content:"\0025a0  "}.lst-kix_9bg20bpz3lr6-1>li:before{content:"\0025cb  "}.lst-kix_3uy04m4r8lnf-4>li:before{content:"\0025cb  "}.lst-kix_9bg20bpz3lr6-0>li:before{content:"\0025cf  "}.lst-kix_3uy04m4r8lnf-5>li:before{content:"\0025a0  "}.lst-kix_3uy04m4r8lnf-6>li:before{content:"\0025cf  "}.lst-kix_4pbn63t477du-1>li:before{content:"\0025cb  "}.lst-kix_4pbn63t477du-0>li:before{content:"\0025cf  "}.lst-kix_4pbn63t477du-2>li:before{content:"\0025a0  "}.lst-kix_4pbn63t477du-3>li:before{content:"\0025cf  "}.lst-kix_9bg20bpz3lr6-3>li:before{content:"\0025cf  "}.lst-kix_9bg20bpz3lr6-4>li:before{content:"\0025cb  "}.lst-kix_4pbn63t477du-8>li:before{content:"\0025a0  "}.lst-kix_vdri37hjl0an-6>li:before{content:"\0025cf  "}.lst-kix_vdri37hjl0an-8>li:before{content:"\0025a0  "}.lst-kix_9bg20bpz3lr6-5>li:before{content:"\0025a0  "}.lst-kix_4pbn63t477du-7>li:before{content:"\0025cb  "}ul.lst-kix_2z9mu1ck018o-0{list-style-type:none}.lst-kix_vdri37hjl0an-7>li:before{content:"\0025cb  "}ul.lst-kix_2z9mu1ck018o-1{list-style-type:none}.lst-kix_9bg20bpz3lr6-7>li:before{content:"\0025cb  "}.lst-kix_4pbn63t477du-5>li:before{content:"\0025a0  "}ul.lst-kix_2z9mu1ck018o-2{list-style-type:none}ul.lst-kix_2z9mu1ck018o-3{list-style-type:none}.lst-kix_9bg20bpz3lr6-6>li:before{content:"\0025cf  "}.lst-kix_9bg20bpz3lr6-8>li:before{content:"\0025a0  "}.lst-kix_4pbn63t477du-4>li:before{content:"\0025cb  "}.lst-kix_4pbn63t477du-6>li:before{content:"\0025cf  "}ul.lst-kix_2z9mu1ck018o-4{list-style-type:none}ul.lst-kix_2z9mu1ck018o-5{list-style-type:none}ul.lst-kix_2z9mu1ck018o-6{list-style-type:none}ul.lst-kix_2z9mu1ck018o-7{list-style-type:none}ul.lst-kix_2z9mu1ck018o-8{list-style-type:none}.lst-kix_vdri37hjl0an-0>li:before{content:"\0025cf  "}.lst-kix_vdri37hjl0an-4>li:before{content:"\0025cb  "}.lst-kix_vdri37hjl0an-5>li:before{content:"\0025a0  "}.lst-kix_u58xi73e5vfb-6>li:before{content:"\0025cf  "}.lst-kix_u58xi73e5vfb-5>li:before{content:"\0025a0  "}.lst-kix_u58xi73e5vfb-7>li:before{content:"\0025cb  "}.lst-kix_vdri37hjl0an-3>li:before{content:"\0025cf  "}.lst-kix_vdri37hjl0an-2>li:before{content:"\0025a0  "}.lst-kix_u58xi73e5vfb-8>li:before{content:"\0025a0  "}.lst-kix_vdri37hjl0an-1>li:before{content:"\0025cb  "}.lst-kix_u1b4dt1h05o5-3>li:before{content:"\0025cf  "}.lst-kix_mtzveeuo4fl5-5>li:before{content:"\0025a0  "}.lst-kix_mtzveeuo4fl5-6>li:before{content:"\0025cf  "}.lst-kix_u1b4dt1h05o5-2>li:before{content:"\0025a0  "}.lst-kix_u1b4dt1h05o5-4>li:before{content:"\0025cb  "}.lst-kix_mtzveeuo4fl5-4>li:before{content:"\0025cb  "}.lst-kix_mtzveeuo4fl5-8>li:before{content:"\0025a0  "}.lst-kix_u1b4dt1h05o5-7>li:before{content:"\0025cb  "}.lst-kix_mtzveeuo4fl5-1>li:before{content:"\0025cb  "}.lst-kix_mtzveeuo4fl5-2>li:before{content:"\0025a0  "}.lst-kix_u1b4dt1h05o5-6>li:before{content:"\0025cf  "}.lst-kix_u1b4dt1h05o5-5>li:before{content:"\0025a0  "}.lst-kix_mtzveeuo4fl5-3>li:before{content:"\0025cf  "}.lst-kix_mhpa5398s0cu-8>li:before{content:"\0025a0  "}.lst-kix_u1b4dt1h05o5-0>li:before{content:"\0025cf  "}.lst-kix_u1b4dt1h05o5-1>li:before{content:"\0025cb  "}.lst-kix_mtzveeuo4fl5-7>li:before{content:"\0025cb  "}ul.lst-kix_u1b4dt1h05o5-0{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-4{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-3{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-5{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-4{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-6{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-1{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-7{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-2{list-style-type:none}ul.lst-kix_ihtn00gfry14-8{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-8{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-7{list-style-type:none}ul.lst-kix_ihtn00gfry14-7{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-8{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-5{list-style-type:none}ul.lst-kix_u1b4dt1h05o5-6{list-style-type:none}ul.lst-kix_ihtn00gfry14-4{list-style-type:none}ul.lst-kix_ihtn00gfry14-3{list-style-type:none}ul.lst-kix_ihtn00gfry14-6{list-style-type:none}ul.lst-kix_ihtn00gfry14-5{list-style-type:none}ul.lst-kix_ihtn00gfry14-0{list-style-type:none}li.li-bullet-0:before{margin-left:-18pt;white-space:nowrap;display:inline-block;min-width:18pt}ul.lst-kix_ihtn00gfry14-2{list-style-type:none}ul.lst-kix_ihtn00gfry14-1{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-5{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-6{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-7{list-style-type:none}ul.lst-kix_3uy04m4r8lnf-8{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-0{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-1{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-2{list-style-type:none}ul.lst-kix_9bg20bpz3lr6-3{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.c8{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:16pt;font-family:"Arial";font-style:normal}.c7{color:#000000;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c2{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c9{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:20pt;font-family:"Arial";font-style:normal}.c6{padding-top:18pt;padding-bottom:6pt;line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.c4{padding-top:20pt;padding-bottom:6pt;line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.c0{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c10{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}.c12{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.c3{color:inherit;text-decoration:inherit}.c1{margin-left:36pt;padding-left:0pt}.c5{padding:0;margin:0}.c11{height:11pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}</style><div class="c12"><h1 class="c4" id="h.lpipapx9agtv"><span class="c9">Participants</span></h1><ul class="c5 lst-kix_9bg20bpz3lr6-0 start"><li class="c0 c1 li-bullet-0"><span class="c2">Nic Jansma, Benjamin De Kosnik, Carine Bournez, CP Clermont, Michal Mocny, Nicol&aacute;s Pe&ntilde;a Moreno, Noam Helfman, Peter Perlepes, Steven Bougon, Yoav Weiss</span></li></ul><p class="c0 c11"><span class="c2"></span></p><h1 class="c4" id="h.2bvqzmct3wus"><span class="c9">Next Call</span></h1><p class="c0"><span class="c2">April 15th 2021 @ 10am PST / 1pm EST</span></p><h1 class="c4" id="h.mnos9kfuq78g"><span class="c9">Meeting Recording Survey</span></h1><ul class="c5 lst-kix_4pbn63t477du-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Sent out a survey on usefulness or meeting recordings</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Appreciate if you can fill it out to help inform us</span></li><li class="c0 c1 li-bullet-0"><span class="c10"><a class="c3" href="https://www.google.com/url?q=https://docs.google.com/forms/d/e/1FAIpQLSc1sk0e0Ddd--TZMzylh-GfMZQv5AQEoPR-mHzJMwqdUgowLA/viewform?usp%3Dsf_link&amp;sa=D&amp;source=editors&amp;ust=1618390134401000&amp;usg=AOvVaw0mWsSahmMB7m3_nWSX7f6P">https://docs.google.com/forms/d/e/1FAIpQLSc1sk0e0Ddd--TZMzylh-GfMZQv5AQEoPR-mHzJMwqdUgowLA/viewform?usp=sf_link</a></span></li></ul><h1 class="c4" id="h.an557g2eekml"><span class="c9">Topics</span></h1><h2 class="c6" id="h.nf2z4v4mulxb"><span class="c8">Publishing - Yoav Weiss</span></h2><ul class="c5 lst-kix_mtzveeuo4fl5-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: As part of Noam’s work on RT/Fetch, we need some changes in HRtime and others</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Publishing those changes was a bit of a manual process</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Had setup auto-publishing of HRTime in 2015, but the pipeline broke since then</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Seems we can refresh that decision</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… First question I’d like to ask is if we can make that decision, or if there are objections</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Noam</b>: Can you clarify what auto-publish means?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: There’s a working draft (e.g. TR) published on the W3C site, a published working draft</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Whereas when we work on editor draft of specs, they are not automatically published unless we decide they should be</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Which means other specs cannot reference them without explicit links until we published those</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Auto-publish commits so when we land PR in HRTime, ResTiming, etc, so it goes to w3c.org/TR/[spec-name]</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Noam</b>: Makes sense</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Does it no longer apply to specs not in Working Draft?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: We can do that for CRs as well</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Just for Transition Request we can’t do that</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nic</b>: Are there any downsides to auto-publish?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: Mostly a benefit to editors, no other downsides seen</span></li><li class="c0 c1 li-bullet-0"><span><b>Yoav</b>: </span><span class="c7">Decision made to auto-publish for WD and CR specs</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Other than that, I was looking at spec status spreadsheet</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… HR-Time 3 is a working draft, and it’s fine to leave it there for now</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… PerformanceTimeline L2 is a working draft. L2 was in PR and changes made brought it back to a WD as a result. Now we have 2 WDs in parallel.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… In my mind it makes sense to take L2 to CR-&gt;PR-&gt;REC</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Issues marked as L2 are currently closed, other than an issue asking that tests are clean</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Make sense to move PT L2 to CR?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: Why was it moved back</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Added feature: supportedEntryTypes and buffered flag</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: Only see supportedEntryTypes</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Can do more archeology. </span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: Makes sense to ask if people have objections to the additions to L2 and then move it to REC</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We removed buffered flag from L2 and put in L3 only.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Added type as well</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Question for Carine: Do we need anything beyond working group decision to move PerfTimeline L2 to CR?</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… And if that is sufficient, can we do that now?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: We can do that now on the call, and get it in the minutes.  We need to get a sense if there are objections.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Would be more comfortable with a Call for Consensus by email, since it wasn’t on the meeting’s agenda</span></li><li class="c0 c1 li-bullet-0"><span><b>Yoav</b>: I can take an AI for a CfC for moving PT L2 from WD to CR</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: Is there something in L3 we want to publish now?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: L3 has buffered flag, was there anything more?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: I also added number of dropped entries. Nothing beyond that.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Makes sense to publish L2 to REC and then move L3 to the living standard model.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: If we are sending a CfC for L2, we could also ask to publish a FPWD of L3</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Auto-publishing is a tooling issue beyond the decision we recorded a few minutes ago</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: once we transition to FPWD</span></li><li class="c0 c1 li-bullet-0"><span><b>Yoav</b>: Also AI to publish First Public Working Draft for L3</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Sean</b>: Quick addition: in L3 the disconnect method also clears the options list, which L2 didn’t have </span></li></ul><p class="c0 c11"><span class="c2"></span></p><h2 class="c6" id="h.oxq5z1yltko2"><span class="c8">ResourceTiming and NavigationTiming + Fetch</span></h2><ul class="c5 lst-kix_2z9mu1ck018o-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Noam R. is doing a lot of work with integration Fetch into RT/LT, which was a barrier for us moving from L2 to L3</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Also if we can abandon the move L2 to REC for RT/LT and move to Living Standard now that we have Fetch integration behind us</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Benjamin</b>: Yes let’s not have a dual-track model</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Carine what would be the procedural bit here? CfC for moving them to Living Standard model?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: The resolution would be to keep the two levels?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Resolution would be to drop L3, stay on L2 forever-more, and move that to a CR-based Living Standard</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We need a CfC for call to CR for RT</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… for NT since there’s significant work from Fetch integration, that may result in downgrading it to a WD, but once we have both of them in CR, do we need anything else for them to be a Living Standard?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: It stays in CR forever basically, and something in the document says it’s a Living Standard</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… RT L1 since it was never a REC do we drop it?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: I don’t think RT L1 has open issues.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: I suppose why it’s still L1 is in CR it’s for testing</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… It’s CR since 4 years ago</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: I suspect it’s just because we haven’t done a good job making sure it’s not in CR for 4 years</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Looking at the current WPT tests for RT, we may need to analyze which tests are L1 related</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: If the group wants to say it’s a Living Standard, drop levels all-together in some way, that’s OK as well</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Don’t have strong opinions, have a slight preference for pushing L1 forward to REC, then make sure that’s documented.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Apple never implemented L2, but they are not on this call. Any other strong preference? On L1 should we publish or abandon it?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Sean</b>: I personally find having all sorts of Levels confusing</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… When we implement stuff, we’re always referring to the latest one.  So having L2 and L3 mixing in, why do we have both?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: The point is not to have both L2 and L3, but I think you’re saying that levels in general are confusing</span></li><li class="c0 c1 li-bullet-0"><span>.</span><span>.. I can formulate an email to the group about moving L2 to CR, as part of that also see if anyone has strong opinions about keeping L1 or if we can abandon it.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Benjamin</b>: And then L3 will be Living Standard?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We would abandon L3 (which didn’t have work), and move L2 to Living Standard</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Benjamin</b>: Sounds good</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: So that would essentially mean abandoning levels</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: Should we do that for PerformanceTimeline too?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: That would mean changing the previous resolution to merge PerformanceTimeline L2/L3 and move to CR.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Move L2 to CR, merge L3 to L2, and L2 will be Living Standard from now on</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: I think of it as renaming L3 to L2</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: CfC is the same CfC, just the path is different. Instead of taking L2 to REC, merge L3 to L2 and make it Living Standard.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: L3 is a superset of L2. No need to merge.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Right now we have two branches, L2 and gh-pages.  Just renaming gh-pages to L2.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: You can look at it as merging, other than that we won’t be doing any merges</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: Looking at proactively where we can publish this</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… I think we could reclaim the short name “performance-timeline” without the number at the end</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: If we can reclaim that for L2 that would be ideal</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: L1 did not have “performance-timeline-1”.  “Performance-timeline” points to L2.  We can remove “L2” from the title.  Remove “-2” from URI.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… You can also find a “-4”, we may need to fix that</span></li></ul><p class="c0 c11"><span class="c2"></span></p><h2 class="c6" id="h.vajwk767iqzl"><span class="c8">User-Timing</span></h2><ul class="c5 lst-kix_ihtn00gfry14-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We have published L1 and L2</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… L3 is a Working Draft, would be worthwhile to push to CR, and make L3 the Living Standard</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Any objections?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Sean</b>: Is my understanding correct that we call CR “Living Standard”</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We now have two versions of Living Standards.  One is that we push a spec to REC, then re-publish as REC for any future changes (but there is a process with that).</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… The easier version is that we push to CR, say it’s a Living Standard, and future changes don’t require as much process.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… In a similar way where Fetch and HTML spec in the WHATWG.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Requires some sort of group consensus</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Sean</b>: So if we do that for User Timing and we move L3 to CR, do we still need L1/L2 in REC status</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: They will remain published, but we can generally ignore them as historical artifacts</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: We can claim they are superseded by higher levels.  We generally keep older revisions, where  there are cases where 1.0 is easy to implement in some cases, and 2.0 has additional features.  And people want to keep 1.0 where use-cases for earlier versions still exist. Which is not the case here.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… For this working group, I think we always want people to implement the highest level</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… So we have to remove L3 from title, push to CR, declare it supersedes L2 and L1 when we enter Recommendation, and use Process 2020 to amend the REC</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Another possibility is to enter CR, and stay in CR forever.  That way we don’t supersede L1/L2 RECs, but we can obsolete them. </span></li><li class="c0 c1 li-bullet-0"><span class="c2">… And then once a year publish CR snapshots, which are CR required for approval</span></li><li class="c0 c1 li-bullet-0"><span class="c2">... For the moment the forever-CR versus REC, it’s not clear which is best for each working group</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… We need to go to CR for L3 which is just in WD.  We don’t need to decide that now.</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: I think the group previously decided the forever-CR model is more favorable</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… We can start by pushing WD to CR, revisit in future if needed.</span></li></ul><h2 class="c6" id="h.yeehxjdswts2"><span class="c8">Page-Visibility</span></h2><ul class="c5 lst-kix_u58xi73e5vfb-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Currently in PR</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… One HTML integration issue to resolve, then we could potentially take it to REC</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Probably need to do that first before we make the decision?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nic</b>: How much work would it be to resolve that issue?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Issue 51</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Michal</b>: Finish line perhaps as little as as a day.  It’s well-outlined what it would take here.</span></li><li class="c0 c1 li-bullet-0"><span class="c2">... Changes to this spec, HTML and dependencies, but not too bad</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Something you’d be able to push in near future?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Michal</b>: I think so</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: In order to move to REC, this is the last issue</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Michal</b>: I will take it</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: Testing status we’re in perfect shape</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Nicol&aacute;s</b>: PV testing isn’t the most complete</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: I think it takes a lot of manual tests</span></li></ul><h2 class="c6" id="h.3ob125rd8srx"><span class="c8">Beacon API</span></h2><ul class="c5 lst-kix_3uy04m4r8lnf-0 start"><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: 0 open issues, currently in CR and we can take it to PR</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… As far as tests go, we are almost green, two implementations for each of the tests</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… Do we need a perfect score on tests to move to PR, or can we take to PR and fix tests on way to REC</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: It doesn’t have to be perfect, if we can justify and identify the issue then that’s OK</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Yoav</b>: We have 2+ implementations passing for each test</span></li><li class="c0 c1 li-bullet-0"><span class="c2">… To move that to PR, is that a CfC but a separate one?</span></li><li class="c0 c1 li-bullet-0"><span class="c2"><b>Carine</b>: I’d rather have a separate one</span></li><li class="c0 c1 li-bullet-0"><span><b>Yoav</b>: AI to CfC</span></li></ul><h2 class="c6" id="h.8zw4tstoh5dq"><span class="c10"><a class="c3" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/126&amp;sa=D&amp;source=editors&amp;ust=1618390134408000&amp;usg=AOvVaw2-GjItxF7UrKVMzgYK0DJU">Possibility to get the HTTP status code from the Response Header ? · Issue #126 · w3c/navigation-timing</a></span><span class="c8"> </span></h2><p class="c0"><span class="c2"><b>Yoav</b>: Feels like something we’d want to move to Resource Timing</span></p><p class="c0"><span class="c2"><b>Nic</b>: I think there’s a similar issue there</span></p><p class="c0"><span class="c2"><b>Nicol&aacute;s</b>: You mentioned in the NavigationTiming issue that it would require some opt-in?</span></p><p class="c0"><span class="c2"><b>Yoav</b>: I think that it won’t for NT, but would for RT</span></p><p class="c0"><span class="c2"><b>Nic</b>: RT#90 is a duplicate on the RT side</span></p><p class="c0"><span class="c2"><b>Yoav</b>: Makes sense to fold this one into the other one</span></p><h2 class="c6" id="h.pf0g5cazaduo"><span class="c10"><a class="c3" href="https://www.google.com/url?q=https://github.com/w3c/navigation-timing/issues/140&amp;sa=D&amp;source=editors&amp;ust=1618390134409000&amp;usg=AOvVaw0oCE-7croSyhRbAiOzpwIq">AppCache meaning #140</a></span></h2><p class="c0"><span class="c2"><b>Nic</b>: Clarification question around what the time titled “AppCache”. What components can contribute to that time in the diagram. Yoav, you commented around it.</span></p><p class="c0"><span class="c2"><b>Yoav</b>: AppCache is dead, let’s not bother with defining its delays too much. Benjamin - what about Firefox?</span></p><p class="c0"><span class="c2"><b>Benjamin</b>: deprecated</span></p><p class="c0"><span class="c2"><b>Nic</b>: In the case of NT, it’s not the AppCache feature, but we were referring to the browser cache in general. In the diagram we have AppCache before DNS connection. It was meant to cover the browser cache - how long it took to get the resource from disk cache. The name changed over time, but it’s not about the AppCache feature.</span></p><p class="c0"><span class="c2"><b>Yoav</b>: As far as implementations go, either we fetch the resource from disk cache, or ignore the cache and go to the network. AFAIK, there are no scenarios where we wait on disk, and only then go to the network. I’m not sure that definition makes sense.</span></p><p class="c0"><span class="c2"><b>Nicol&aacute;s</b>: You’re saying that’s measuring when we try to see if it’s in disk cache and fail do we then go to the network? I also don’t understand what’s the delta between fetchStart and dnsStart. </span></p><p class="c0"><span class="c2"><b>Nic</b>: We often see a non zero delta between those numbers and assumed it’s disks spinning up</span></p><p class="c0"><span class="c2"><b>Yoav</b>: I’d assume we won’t go to disk unless we know we find something there</span></p><p class="c0"><span class="c2"><b>Nicol&aacute;s</b>: Worth investigating what’s happening there</span></p><p class="c0"><span class="c2"><b>Nic</b>: In IE that time was accessing the cache index, which may not have been in memory</span></p><p class="c0"><span>… I can see if today we still see a difference there</span></p><p class="c0"><span class="c2">… The basic question was “what is that time?” We can try to inform that decision a little bit</span></p><p class="c0"><span class="c2"><b>Yoav</b>: It would be interesting to do some research there.</span></p><p class="c0"><span><b>Nic</b>: Out of time, just wanted to point out great work on RT Fetch integration.</span></p></div></div><div id="footer"><span>Published by <a target="_blank" title="Learn more about Google Drive" href="//docs.google.com/">Google Drive</a></span><span class="dash">&ndash;</span><a href="https://docs.google.com/u/0/abuse?id=AKkXjoxJHEwT3HyGhILICBNk4rBdiTISNdJFOu6CM-atF1MEZN-bCL2rPWSOfSeYyM7F7gGnzKi_vPEy6YbFSMM:0">Report Abuse</a></div><script type="text/javascript" nonce="gAgG1i/Npqa5U5TIs2tr2w">(function(){/*

 Copyright The Closure Library Authors.
 SPDX-License-Identifier: Apache-2.0
*/
var aa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var da=ca(this);function ea(a,b){if(b)a:{var c=da;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}var h;
if("function"==typeof Object.setPrototypeOf)h=Object.setPrototypeOf;else{var l;a:{var fa={a:!0},ha={};try{ha.__proto__=fa;l=ha.a;break a}catch(a){}l=!1}h=l?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ia=h;
function m(a,b){a.prototype=aa(b.prototype);a.prototype.constructor=a;if(ia)ia(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.m=b.prototype}ea("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});var q=this||self;function r(){}function t(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}
function ja(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function ka(a,b){function c(){}c.prototype=b.prototype;a.m=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.A=function(d,e,f){for(var g=Array(arguments.length-2),k=2;k<arguments.length;k++)g[k-2]=arguments[k];return b.prototype[e].apply(d,g)}}function u(a){return a};function w(a){w[" "](a);return a}w[" "]=r;function la(a,b,c){return Object.prototype.hasOwnProperty.call(a,b)?a[b]:a[b]=c(b)};function ma(a){return la(a.prototype,"$$generatedClassName",function(){return"Class$obf_"+{valueOf:function(){return++na}}})}var na=1E3;function x(){}x.prototype.s=function(){return this.j||(Object.defineProperties(this,{j:{value:oa=oa+1|0,enumerable:!1}}),this.j)};x.prototype.toString=function(){var a=y(z(pa(this.constructor)))+"@";var b=(this.s()>>>0).toString(16);return a+y(b)};function A(){}m(A,x);A.prototype.i=function(a){this.h=a;if(a instanceof Object)try{a.v=this}catch(b){}};function qa(a){a.h instanceof Error&&(Error.captureStackTrace?Error.captureStackTrace(a.h):a.h.stack=Error().stack)}A.prototype.toString=function(){var a=z(pa(this.constructor)),b=this.l;return null==b?a:y(a)+": "+y(b)};function B(){}m(B,A);function D(){}m(D,B);function E(){}m(E,D);E.prototype.i=function(a){D.prototype.i.call(this,Object.is(this.g,"__noinit__")?a:this.g)};function ra(){}m(ra,E);function sa(a,b){return"string"==typeof a?a.charCodeAt(b):a.g(b)};var oa=0;function y(a){return null==a?"null":a.toString()}function ta(a){return 65536<=a?y(String.fromCharCode((55296+((a-65536|0)>>10&1023)|0)&65535))+y(String.fromCharCode((56320+((a-65536|0)&1023)|0)&65535)):String.fromCharCode(a&65535)}function ua(a,b){var c=b,d=a.length,e;b=sa(a,(e=c,c=c+1|0,e));var f;if(e=55296<=b&&56319>=b&&c<d)a=f=sa(a,c),e=56320<=a&&57343>=a;var g;e?g=65536+((b&1023)<<10)+(f&1023)|0:g=b;return g};function F(a,b){this.h=a;this.g=b}m(F,x);function z(a){var b=ma(a.h);0!=a.g&&(b="L"+y(b)+";");a=a.g;for(var c="",d=0;d<a;d=d+1|0)c=y(c)+"[";return y(c)+y(b)}F.prototype.toString=function(){return"class "+y(z(this))};function pa(a){return la(a.prototype,"$$class/0",function(){return new F(a,0)})};function G(a,b){return null==a?a:b?decodeURI(a):decodeURIComponent(a)};var va=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\S\s]*))?$/;function wa(a){a=va.exec(a);for(var b=[],c=0;7>=c;c=c+1|0)a.length<=c||null==a[c]?b.push(null):b.push(a[c]);return b}
function xa(a,b){var c=a.indexOf(ta(35));c=0>c?a.length:c;a:{var d=0;for(var e=b.length;0<(d=a.indexOf(b,d))&&d<c;){var f=ua(a,d-1|0);if(38==f||63==f){if((d+e|0)>=a.length)break a;f=ua(a,d+e|0);if(61==f||38==f||35==f)break a}d=d+(e+1)|0}d=-1}if(0>d)return null;e=a.indexOf(ta(38),d);if(0>e||e>c)e=c;d=d+(b.length+1)|0;b=Math.min(a.length,d);a=a.substr(b,Math.min(a.length,Math.max(d,e))-b|0);c=" ";for(b=0;0<=(b=c.indexOf("\\",b));)36==c.charCodeAt(b+1|0)?(d=y(c.substr(0,b|0))+"$",e=b=b+1|0,c=d+y(c.substr(e))):
(d=y(c.substr(0,b|0)),e=b=b+1|0,c=d+y(c.substr(e)));a=a.replace(/\+/g,c);return G(a,!1)};function ya(a){a&&"function"==typeof a.u&&a.u()};function H(){this.h=this.h;this.g=this.g}H.prototype.h=!1;H.prototype.u=function(){this.h||(this.h=!0,this.j())};H.prototype.j=function(){if(this.g)for(;this.g.length;)this.g.shift()()};var za=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};var Aa=/&/g,Ba=/</g,Ca=/>/g,Da=/"/g,Ea=/'/g,Fa=/\x00/g,Ga=/[\x00&<>"']/;var I;a:{var Ha=q.navigator;if(Ha){var Ia=Ha.userAgent;if(Ia){I=Ia;break a}}I=""}function J(a){return-1!=I.indexOf(a)};function Ja(a,b,c){for(var d in a)b.call(c,a[d],d,a)};var K;function L(a,b){this.i=a===Ka&&b||"";this.j=La}L.prototype.h=!0;L.prototype.g=function(){return this.i};var La={},Ka={};function M(a,b){this.i=b===N?a:""}M.prototype.h=!0;M.prototype.g=function(){return this.i.toString()};M.prototype.toString=function(){return this.i.toString()};function O(a){return a instanceof M&&a.constructor===M?a.i:"type_error:SafeUrl"}
var Ma=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,Na=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,Oa=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Pa(a){if(a instanceof M)return a;a="object"==typeof a&&a.h?a.g():String(a);Oa.test(a)||(a="about:invalid#zClosurez");return new M(a,N)}
var N={},Qa=new M("about:invalid#zClosurez",N);function P(a,b,c){this.i=c===Ra?a:""}P.prototype.h=!0;P.prototype.g=function(){return this.i.toString()};P.prototype.toString=function(){return this.i.toString()};var Ra={};function Sa(a,b,c,d){a=a instanceof M?a:Pa(a);b=b||q;c=c instanceof L?c instanceof L&&c.constructor===L&&c.j===La?c.i:"type_error:Const":c||"";return void 0!==d?b.open(O(a),c,d,void 0):b.open(O(a),c)};var Ta=J("Trident")||J("MSIE"),Ua=J("Edge")||Ta,Va=J("Gecko")&&!(-1!=I.toLowerCase().indexOf("webkit")&&!J("Edge"))&&!(J("Trident")||J("MSIE"))&&!J("Edge"),Wa=J("Macintosh");var Xa=function(){if(!q.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{q.addEventListener("test",r,b),q.removeEventListener("test",r,b)}catch(c){}return a}();function Q(a,b){this.type=a;this.target=b;this.i=!1}Q.prototype.g=function(){this.i=!0};function R(a){Q.call(this,a?a.type:"");this.relatedTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.h=null;if(a){var b=this.type=a.type,c=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;var d=a.relatedTarget;if(d){if(Va){a:{try{w(d.nodeName);var e=!0;break a}catch(f){}e=!1}e||(d=null)}}else"mouseover"==
b?d=a.fromElement:"mouseout"==b&&(d=a.toElement);this.relatedTarget=d;c?(this.clientX=void 0!==c.clientX?c.clientX:c.pageX,this.clientY=void 0!==c.clientY?c.clientY:c.pageY,this.screenX=c.screenX||0,this.screenY=c.screenY||0):(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=
a.metaKey;this.pointerId=a.pointerId||0;this.pointerType="string"===typeof a.pointerType?a.pointerType:Ya[a.pointerType]||"";this.state=a.state;this.h=a;a.defaultPrevented&&R.m.g.call(this)}}ka(R,Q);var Ya={2:"touch",3:"pen",4:"mouse"};R.prototype.g=function(){R.m.g.call(this);var a=this.h;a.preventDefault?a.preventDefault():a.returnValue=!1};var S="closure_listenable_"+(1E6*Math.random()|0);var Za=0;function $a(a,b,c,d,e){this.listener=a;this.g=null;this.src=b;this.type=c;this.capture=!!d;this.i=e;this.key=++Za;this.h=this.o=!1}function ab(a){a.h=!0;a.listener=null;a.g=null;a.src=null;a.i=null};function T(a){this.src=a;this.g={};this.h=0}T.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.g[f];a||(a=this.g[f]=[],this.h++);var g;a:{for(g=0;g<a.length;++g){var k=a[g];if(!k.h&&k.listener==b&&k.capture==!!d&&k.i==e)break a}g=-1}-1<g?(b=a[g],c||(b.o=!1)):(b=new $a(b,this.src,f,!!d,e),b.o=c,a.push(b));return b};var U="closure_lm_"+(1E6*Math.random()|0),V={},bb=0;function cb(a,b,c,d,e){if(d&&d.once)return db(a,b,c,d,e);if(Array.isArray(b)){for(var f=0;f<b.length;f++)cb(a,b[f],c,d,e);return null}c=eb(c);return a&&a[S]?a.g(b,c,t(d)?!!d.capture:!!d,e):fb(a,b,c,!1,d,e)}
function fb(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=t(e)?!!e.capture:!!e,k=gb(a);k||(a[U]=k=new T(a));c=k.add(b,c,d,g,f);if(c.g)return c;d=hb();c.g=d;d.src=a;d.listener=c;if(a.addEventListener)Xa||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(ib(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");bb++;return c}
function hb(){function a(c){return b.call(a.src,a.listener,c)}var b=jb;return a}function db(a,b,c,d,e){if(Array.isArray(b)){for(var f=0;f<b.length;f++)db(a,b[f],c,d,e);return null}c=eb(c);return a&&a[S]?a.h(b,c,t(d)?!!d.capture:!!d,e):fb(a,b,c,!0,d,e)}
function kb(a){if("number"!==typeof a&&a&&!a.h){var b=a.src;if(b&&b[S])b.i(a);else{var c=a.type,d=a.g;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(ib(c),d):b.addListener&&b.removeListener&&b.removeListener(d);bb--;if(c=gb(b)){d=a.type;if(d in c.g){var e=c.g[d],f=za(e,a),g;(g=0<=f)&&Array.prototype.splice.call(e,f,1);g&&(ab(a),0==c.g[d].length&&(delete c.g[d],c.h--))}0==c.h&&(c.src=null,b[U]=null)}else ab(a)}}}
function ib(a){return a in V?V[a]:V[a]="on"+a}function jb(a,b){if(a.h)a=!0;else{b=new R(b,this);var c=a.listener,d=a.i||a.src;a.o&&kb(a);a=c.call(d,b)}return a}function gb(a){a=a[U];return a instanceof T?a:null}var lb="__closure_events_fn_"+(1E9*Math.random()>>>0);function eb(a){if("function"===typeof a)return a;a[lb]||(a[lb]=function(b){return a.handleEvent(b)});return a[lb]};function W(a){H.call(this);this.l=a;this.i={}}ka(W,H);var mb=[];function nb(a){Ja(a.i,function(b,c){this.i.hasOwnProperty(c)&&kb(b)},a);a.i={}}W.prototype.j=function(){W.m.j.call(this);nb(this)};W.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function ob(a){H.call(this);this.i=a||document.body;this.l=new W(this);a=ja(ya,this.l);this.h?a():(this.g||(this.g=[]),this.g.push(a));a=this.l;var b=this.i,c=this.s,d="click";Array.isArray(d)||(d&&(mb[0]=d.toString()),d=mb);for(var e=0;e<d.length;e++){var f=cb(b,d[e],c||a.handleEvent,!1,a.l||a);if(!f)break;a.i[f.key]=f}}m(ob,H);
ob.prototype.s=function(a){if(!(0!=a.h.button||Wa&&a.ctrlKey||a.i))for(var b=a.target;b&&b!=this.i;){if(b.tagName&&"a"==b.tagName.toLowerCase()){var c=b.getAttribute("href")||b.getAttributeNS("http://www.w3.org/1999/xlink","href"),d=c;try{var e=wa(c),f;if(f="www.google.com"===G(e[3],!0)){var g=wa(c);f="/url"===G(g[5],!0)}if(f){var k=xa(c,"q");d=k?k:xa(c,"url")}}catch(v){a:{var p=v;if(null!=p){var n=p.v;if(null!=n){v=n;break a}}if(p instanceof TypeError){var C=n=new ra;C.l=y(p);qa(C);n.g="__noinit__";
n.g=p;n.i(new TypeError(n));p=n}else C=n=new E,C.l=y(p),qa(C),n.g="__noinit__",n.g=p,n.i(Error(n)),p=n;v=p}if(!(v instanceof B))throw v.h;}d=null!=d?d:"";if(c!=d){e=void 0;b={target:"_blank",noreferrer:!0};c=window;d instanceof M?f=d:(f="undefined"!=typeof d.href?d.href:String(d),f instanceof M||(f="object"==typeof f&&f.h?f.g():String(f),Oa.test(f)?f=new M(f,N):(f=String(f),f=f.replace(/(%0A|%0D)/g,""),f=(g=f.match(Na))&&Ma.test(g[1])?new M(f,N):null)),f=f||Qa);d=b.target||d.target;g=[];for(e in b)switch(e){case "width":case "height":case "top":case "left":g.push(e+
"="+b[e]);break;case "target":case "noopener":case "noreferrer":break;default:g.push(e+"="+(b[e]?1:0))}e=g.join(",");if((J("iPhone")&&!J("iPod")&&!J("iPad")||J("iPad")||J("iPod"))&&c.navigator&&c.navigator.standalone&&d&&"_self"!=d)e="A",g=document,e=String(e),"application/xhtml+xml"===g.contentType&&(e=e.toLowerCase()),g=e=g.createElement(e),f=f instanceof M?f:Pa(f),g.href=O(f),e.setAttribute("target",d),b.noreferrer&&e.setAttribute("rel","noreferrer"),b=document.createEvent("MouseEvent"),b.initMouseEvent("click",
!0,!0,c,1),e.dispatchEvent(b);else if(b.noreferrer){if(c=Sa("",c,d,e),b=O(f),c){Ua&&-1!=b.indexOf(";")&&(b="'"+b.replace(/'/g,"%27")+"'");c.opener=null;Ga.test(b)&&(-1!=b.indexOf("&")&&(b=b.replace(Aa,"&amp;")),-1!=b.indexOf("<")&&(b=b.replace(Ba,"&lt;")),-1!=b.indexOf(">")&&(b=b.replace(Ca,"&gt;")),-1!=b.indexOf('"')&&(b=b.replace(Da,"&quot;")),-1!=b.indexOf("'")&&(b=b.replace(Ea,"&#39;")),-1!=b.indexOf("\x00")&&(b=b.replace(Fa,"&#0;")));b='<meta name="referrer" content="no-referrer"><meta http-equiv="refresh" content="0; url='+
b+'">';if(void 0===K)if(d=null,(e=q.trustedTypes)&&e.createPolicy){try{d=e.createPolicy("goog#html",{createHTML:u,createScript:u,createScriptURL:u})}catch(v){q.console&&q.console.error(v.message)}K=d}else K=d;b=(d=K)?d.createHTML(b):b;b=new P(b,null,Ra);(c=c.document)&&c.write&&(c.write(b instanceof P&&b.constructor===P?b.i:"type_error:SafeHtml"),c.close())}}else(c=Sa(f,c,d,e))&&b.noopener&&(c.opener=null);a.g();break}}b=b.parentNode}};function pb(a){new ob(a)}
var X=["DOCS_installLinkReferrerSanitizer"],Y=q;X[0]in Y||"undefined"==typeof Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());)X.length||void 0===pb?Y[Z]&&Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}:Y[Z]=pb;}).call(this);
</script><script type="text/javascript" nonce="gAgG1i/Npqa5U5TIs2tr2w">DOCS_installLinkReferrerSanitizer();</script></body></html>